home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / standards / ieee / 1076.1 / analog / ref / DOD / DOD_0.2.txt < prev    next >
Encoding:
Text File  |  1993-02-27  |  30.6 KB  |  903 lines

  1. #####################################################
  2. # DESIGN OBJECTIVES DOCUMENT FOR ANALOG VHDL 1076.1 #
  3. #####################################################
  4.  
  5. DOCUMENT HISTORY
  6. ================
  7.  
  8. 0.1    2-apr-92    Hazem El-Tahawy
  9.     Initial version prepared by Berge, El Tahawy, Rodriguez
  10.     and Rouqier
  11.  
  12. 0.2    11-may-92    Robert Cottrell
  13.     Revised following meeting at European VHDL Forum in Santander,
  14.     Spain, 28-apr-92
  15.  
  16.                   +++++++++++++++++++++++++++++++++++++
  17.                   Memo on the analog extensions to VHDL
  18.                   +++++++++++++++++++++++++++++++++++++
  19.  
  20.  
  21.  
  22. -0- Introduction
  23. ================
  24.  
  25. This memo, prepared by J.M.BERGE, H.El TAHAWY, D.RODRIGUEZ and D. ROUQUIER,
  26. presents the main ideas contained in the requirements concerning the analog
  27. extensions to VHDL. It contains as few syntactic examples as possible. The
  28. extended VHDL is called VHDL-A.
  29.  
  30. Some ideas are explicitly supported by one or several requirements; the
  31. corresponding requirement numbers are then listed (between brackets) after the
  32. corresponding paragraph.
  33.  
  34. Other ideas are not explicitly supported by any requirement, but appeared during
  35. analysis, or during discussions.
  36.  
  37. -1- List of relevant requirements
  38. =================================
  39.  
  40. The numbering below was indicated in a list of requirements prepared by W.NEBEL
  41. in March 1991.
  42.  
  43. A01   Mark BROWN        Continuous time
  44. A02   Mark BROWN        Conversion between Continuous and Discrete time
  45. A03   Mark BROWN        Network of interconnected elements
  46. A04   Mark BROWN        Port behavior
  47. A05   Mark BROWN        Operators
  48. A06   Mark BROWN        Error tolerance
  49. A07   Mark BROWN        Miscellaneous requirements
  50. A17   A.S.GILMAN        Analog Modeling
  51. A18   A.S.GILMAN        Physical quantities
  52. A19   A.S.GILMAN        Baseline Character set
  53. E12   C. LE FAOU et al  New key-words and electrical objects
  54. E13   C. LE FAOU et al  Input parameter for entities
  55. E14   C. LE FAOU et al  Package and user library for electrical modeling
  56. E16   D.ROUQUIER        New key-words and underlying semantics for electrical
  57.                         modeling
  58. E46   M.ALTMAE          Correspondence between VHDL objects and alternative
  59.                         representations in other netlist formats
  60. E47   M.ALTMAE          Modify the VHDL initialization to include DC analysis
  61.                         for analog parts
  62. E48   M.ALTMAE          Specified interface semantics between digital and analog
  63.                         parts of a design
  64. E62   D.RODRIGUEZ et al Dimensional equations
  65. E63   D.BORRIONNE et al New key-words and electrical objects modification and
  66.                         review of CLF+1 (= E12)
  67. E64   D.BORRIONNE et al Access to the current value crossing an electrical
  68.                         component
  69.  
  70. The numbering below concerns "new" analog requirements gathered by M.ALTMAE; it
  71. is provisional, especially concerning requirements from the North-American
  72. chapter ...
  73.  
  74. E65   D.ROUQUIER et al  At least two labels
  75. E66   D.ROUQUIER et al  Re-use digital constructs
  76. E67   D.ROUQUIER et al  Definition of analog time
  77. E68   D.ROUQUIER et al  Time synchronization
  78. E69   D.ROUQUIER        Portability of analog models
  79. E70   D.ROUQUIER        Use of existing methods
  80. E71   D.ROUQUIER et al  User control over digital to analog interactions
  81. E72   D.ROUQUIER et al  User control over analog to digital interactions
  82. E73   N.WHITAKER        Dimensional analysis of physical types
  83. E74   D.ROUQUIER        Domain of application
  84. E75   D.ROUQUIER        Several modeling techniques
  85. E76   T.RAHKONEN        consistency checks for excitations and results in
  86.                         different analogue simulators
  87. E77   A.PATTERSON       Analogue modelling requirements in VHDL
  88. E78   D.ROUQUIER        Mixed entities required
  89. E79   D.ROUQUIER        Implementation issues
  90. A176  C.USSERY          Single Timing Semantics
  91. A177  C.USSERY          Pass-through of analog values
  92. A178  C.USSERY          Fully intermixed designs
  93. A179  K.NOLAN           Specification of initial analog conditions
  94. A180  K.NOLAN           Specification of non-conserved analog systems
  95.  
  96. -2- General Guidelines
  97. ======================
  98.  
  99. The following sections provide general guidelines for the design of
  100. VHDL-A:
  101.  
  102. -2-1- Scope of the language
  103. =========================
  104.  
  105. VHDL-A should be suitable for the description and simulation of mixed, analog-
  106. digital, systems.
  107.  
  108. No synthesis semantics is taken into account.
  109.  
  110. -2-2- Digital aspects
  111. ===================
  112.  
  113. VHDL-A will be a "super-set" of VHDL-92; any description that is valid in VHDL-
  114. 92 will also be valid in VHDL-A, WITH THE SAME SIMULATION RESULTS.
  115.   ==--> ( A17 )
  116.  
  117. The only permitted exception to this is that new keywords introduced into
  118. the language may conflict with identifiers used in a VHDL-92 description.
  119.  
  120. -2-3- Analog aspects
  121. ==================
  122.  
  123. The analog part of VHDL-A should be targeted primarily towards the following
  124. applications:
  125. - DC and transient analyses
  126. - electronic circuits (OpAmps, PLLs, comparators, ...)
  127. - lumped-element systems
  128.   ==--> ( E74 )
  129.  
  130. Attention should be paid to ensure that frequency analysis is possible (for
  131. purely analog descriptions), provided that this does not have too great
  132. an impact on the language.
  133.   ==--> ( A3 ; A5 )
  134.  
  135. Also mixed, time-frequency analysis (MFTA) could be considered.
  136.   ==--> ( A17 )
  137.  
  138. The other domains (mechanical, thermal, ...) could be easily introduced
  139. as they are analogous to the electrical domain.
  140.  
  141. The micro-wave domain will not be taken into account.
  142.   ==--> (this is contradiction with part of requirement #A17)
  143.  
  144. Contacts should be taken with MHDL.
  145.  
  146. The semantics of analog simulations will obviously be different from that of
  147. digital simulations; the syntax of analog descriptions should also be specific
  148. (to clearly identify the analog parts). Analog descriptions ought to re-use
  149. existing (VHDL-92) syntax where appropriate, for such constructs as expressions,
  150. function calls, if-then-else statements, ...
  151.   ==--> ( E66 )
  152.  
  153. -2-4- Mixed aspects
  154. =================
  155.  
  156. A few, basic, mechanisms will be provided to allow analog parts and digital
  157. parts of a mixed circuit to interact.
  158.   ==--> ( A2 ; A3 ; A5 )
  159.  
  160. The places where such interactions occur will be explicitly described by the
  161. user.
  162.   ==--> ( E71 ; E72 )
  163.  
  164. The basic A/D,D/A interaction mechanisms of VHDL-A will be completely defined,
  165. and will make no use of the "foreign interface" of VHDL-92 (this not in
  166. contradiction with paragraph -3-). In other words, analog will not be "foreign"
  167. to VHDL-A.
  168.  
  169. Together with the time synchronisation issues (see below, paragraph -16-), the
  170. guidelines contained in this paragraph should ensure a reasonable degree of
  171. portability, while giving enough freedom to the implementation. The intention
  172. is to maintain portability without defining the simulation algorithm. Further
  173. study is required on the meaning of portability.
  174.  
  175. Further study id required on the restrictions which may be required on the
  176. conbination of analog and digital constructs. (but note ==--> A178)
  177.  
  178. -3- Analog structures
  179. =====================
  180.  
  181. Using VHDL-A, it should be possible to describe the structural composition of
  182. analog sub-circuits connected by analog wires.
  183.   ==--> ( A3 ; E12 ; E14 ; E63 )
  184.  
  185.      -3-1- Similarities
  186.      ------------------
  187.  
  188. For this purpose a number of aspects are very similar to the corresponding ones
  189. in the digital domain, namely :
  190.  
  191. - blocks
  192. - components
  193. - configuration of a component onto an "entity-architecture pair"
  194. - generics
  195. - generate statements
  196.   ==--> ( A3 ; E14 )
  197.  
  198. For these aspects , it should be possible to re-use the existing syntax.
  199.   ==--> ( E66 )
  200.  
  201.      -3-2- Differences
  202.      -----------------
  203.  
  204. On the other hand, some aspects are very specific to analog, namely :
  205.  
  206. - the analog ports (provisional name : PINs) of an analog component are
  207. characterized by a voltage accross the PIN and a current flowing through the
  208. PIN.
  209.   ==--> ( A4 ; E12 )
  210.  
  211. - the interactions between an analog component and its environment are always
  212. "two-way" (not "in" or "out" ; the "inout" digital mode does not seem
  213. appropriate either). The terme "binding" has been used.
  214.   ==--> ( A3 ; E63 )
  215.  
  216. - the analog wires (provisional name : NODEs) of an analog structure are
  217. characterized by a voltage.
  218.   ==--> ( E12 )
  219.  
  220. - the connection of several PINs to a NODE means that :
  221.      +  all PINs must have the same voltage
  222.      +  the sum of PINs currents must be zero (Kirchoff's current law, or KCL).
  223.   ==--> ( A1 ; A4 ; E12 ; E63 ; E77 )
  224.  
  225. (the two above assumptions might not hold in micro-wave circuits ...)
  226.  
  227. - analog components may also need "parameters" ; parameters may be defined as
  228. generics whose value may vary during simulation.
  229.   ==--> ( E13 )
  230.  
  231. For these aspects, new syntax has to be created.
  232.   ==--> ( E66 )
  233.  
  234. It will be necessary to specify a clear convention concerning the direction of
  235. currents (entering or leaving the components).
  236.  
  237. By changing the definition of the "accross" and "through" quantities, and by
  238. keeping KCL and KVL (equal "accross" quantity on a "node", null sum of "through"
  239. quantities on a node), other domains (mechanical, thermal, ...) can easily be
  240. introduced.
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249. -4- Analog behaviors
  250. ====================
  251.  
  252. To describe the behavior of an analog part in a behavioral (not structural) way,
  253. two styles should be provided :
  254.  
  255.      -4-1- Relations
  256.      ---------------
  257.  
  258. The behavior of an analog part may be described by an un-ordered set of
  259. differential equations.
  260.   ==--> ( A4 ; E12 ; E14 ; E70 ; E75 ; E79 )
  261.  
  262. note : - Each of these equation is added to the set of equations to be solved to
  263.          perform analog simulation
  264.        - Other equations come from the structural description
  265.        - adding an equation to the equation set should be complemented
  266.          by adding an independent variable to the set of variables.
  267.  
  268.      -4-2- Procedural models
  269.      -----------------------
  270.  
  271. The behavior of an analog part may be described by a procedure, returning branch
  272. currents as a function of node voltages. Each of these procedures is called, by
  273. the simulator during analog simulation, to find node voltages satisfying KCL.
  274.   ==--> ( A4 ; E70 ; E75 ; E79 )
  275.  
  276. NOTE  : - it might be usefull to allow a procedural model to return also
  277.           voltages as functions of currents (e.g. for an inductance).
  278.  
  279. Remark : - These two styles ("relations" and "procedural models") will form the
  280.            "core" of the analog part of VHDL-A, and should be designed with
  281.            great care.
  282.          - It might be interesting to allow mixing both styles within the same
  283.            analog part, like in FAS or MAST.
  284.  
  285.      -4-3- Access to voltages and currents
  286.      -------------------------------------
  287.  
  288. For analog behavioral modeling (and for A-to-D interactions), it is necessary to
  289. designate the voltage or the current of a PIN (seen from within a component).
  290.   ==--> ( E14 )
  291. It is also useful to designate a branch current or a node voltage (seen from
  292. outside components).
  293.   ==--> ( E64 )
  294.  
  295. The following notations have been proposed :
  296.     PIN1.V              : access to the voltage of a pin
  297.     PIN1.I              : access to a pin current
  298.     NODE1.V             : access to the voltage of a node
  299.     COMP1.PIN2.I        : access to a branch current
  300.  
  301. The above notations are provisional and purely syntactic, and do not mean that a
  302. PIN or NODE is represented by a "record" (the exact representation is left to
  303. the implementation). They may be used to allow reading, or writing, or within an
  304. equation.
  305.  
  306. -5- Analog-to-Digital interactions
  307. ==================================
  308.  
  309. The user must be given control over the exact transformations used in the A-to-D
  310. interactions
  311.   ==--> ( E48 ; E72 )
  312.  
  313. A user-supplied thresholding function is required to ensure that digital events
  314. are triggered only when "significant" changes occur in the analog part.
  315.   ==--> ( A5 ; E72 )
  316.  
  317. The basic mechanisms could be restricted to :
  318. - a digital process may read an analog value (voltage or current) ;
  319. - a digital process may be made "sensitive" to an analog value (and in this case
  320.   the thresholding function is used to decide when to trigger the process ; this
  321.   is similar to the "monitor" construct proposed by M.BROWN and B.HANNA, but
  322.   more general).
  323.   ==--> ( E72 )
  324.  
  325. Following this (and paragraph -5-), it should not be legal to connect a PIN to a
  326. signal.
  327.   ==--> ( E79 )
  328.  
  329. -6- Digital-to-Analog interactions
  330. ==================================
  331.  
  332. The user must be given control over the exact transformations used in the D-to-A
  333. interactions
  334.   ==--> ( E48 ; E71 )
  335.  
  336. The basic mechanism(s) could be restricted to :
  337. - an analog behavioral part (see paragraph -7-) may read a digital signal.
  338.   ==--> ( E71 )
  339.  
  340. In this case a user-supplied "slope function" might be required, to avoid
  341. numerical problems due to discontinuities in the analog part. This "slope
  342. function" is similar to the "waveform generator" proposed in A5, but less
  343. general.
  344.  
  345. Following this (and paragraph -5-), it should not be allowed to connect a PORT
  346. to a node.
  347.   ==--> ( E79 )
  348.  
  349. -7- Entities
  350. =============
  351.  
  352. Entities in VHDL-A may have PINs and PARAMETERs in addition to PORTS and
  353. GENERICs ; following this line, entities may be digital, analog, or mixed.
  354.   ==--> ( E78 ;  A177 )
  355.  
  356. -8- Architectures
  357. ==================
  358.  
  359. Architectures in VHDL-A may contain NODEs and "Analog-Black-Boxes" (see
  360. paragraph -7-) in addition to SIGNALs and PROCESSes ; following this line,
  361. architectures may be digital, analog, or mixed.
  362.   ==--> ( A177 ; A78 )
  363.  
  364. In addition to GENERIC MAP and PORT MAP, components will have "PIN MAP" and
  365. "PARAMETER MAP" ; same for blocks.
  366.   ==--> ( E63 )
  367.  
  368. Analog-to-digital and digital-to-analog interactions will occur only within
  369. architectures containing PROCESSes and "Analog-Black-Boxes", and making use of
  370. one of the basic mechanisms described in paragraph -8- or -9-.
  371.   ==--> ( E79 )
  372.  
  373. -9- Time derivative
  374. ====================
  375.  
  376. Time derivative is necessary for analog behavioral modeling.
  377.   ==--> ( A5 ; E12 ; E70 ; E77 )
  378.  
  379. It must be possible to apply it to any analog quantity :
  380. - node voltage
  381. - branch current
  382. - pin voltage
  383. - pin current
  384. - user-defined extra independant variable
  385.   (whether within a "relation" or within a "procedural model")
  386.  
  387. Also integral might be usefull (at least "from 0 to now").
  388.  
  389. -10- Math package
  390. =================
  391.  
  392. For analog behavioral modeling a specific mathematical package is required,
  393. providing useful functions such as sine, cosine, exp, log, ln, complex numbers
  394. and associated operations, ...
  395.   ==--> ( A7 ; E77 )
  396.  
  397. Also "PWL" functions could be found in this package.
  398.  
  399. -11- Time, time synchronisation, initialisation
  400. ===============================================
  401.  
  402. The initialisation of a mixed model must include DC analysis for the analog
  403. parts (in addition to the normal procedure for the digital parts) ; this may
  404. involve iterations.
  405.   ==--> ( E47 ; A179 )
  406.  
  407. The simulation of a mixed model requires that events on digital signals and
  408. evolutions of analog quantities be ordered along a single time axis.
  409.   ==--> ( A2 ; E67 ; E68 ; A176 )
  410.  
  411. The definition of time synchronisation between analog and digital parts should
  412. be complete and precise enough to ensure a reasonable degree of portability.
  413.   ==--> ( E68 ; E69 )
  414.  
  415. and it should be transparent to the user (no explicit use of "last active
  416. postponed process").
  417.  
  418.  
  419. -12- Physical Units
  420. ===================
  421.  
  422. The language should support dimensional analysis.
  423.   ==--> ( A18 ; E62 ; E73 ; E77 )
  424.  
  425. (to be defined carefully !).
  426.  
  427. -13- Detailed analysis of available requirements
  428. ================================================
  429.  
  430. A01   Mark BROWN        Continuous time
  431. ---------------------------------------
  432.  
  433. idea #1 : continuous time
  434. supported
  435. (analog quantities vary continuously in time but the simulator computes them
  436. only at discrete time-points)
  437.  
  438. idea#2 : analog simulation algorithms are proprietary
  439. supported
  440. (the analog part of the VHDL-A LRM will be less detailed than the digital part)
  441.  
  442. idea #3 : Kirchoff's laws form the basis of the semantics for analog simulation
  443. supported
  444.  
  445. A02   Mark BROWN        Conversion between Continuous and Discrete time
  446. -----------------------------------------------------------------------
  447.  
  448. supported
  449.  
  450. A03   Mark BROWN        Network of interconnected elements
  451. ----------------------------------------------------------
  452.  
  453. no direction :
  454. supported
  455.  
  456. a node connects two or more terminals :
  457. supported
  458.  
  459. VHDL-92 component statements are good for analog structures :
  460. supported
  461.  
  462. N-Port theory :
  463. not understood (please provide tutorial !!)
  464.  
  465. a branch between two terminals : branch current not unique !?
  466.  
  467. modal and domain conversions : ??
  468.  
  469. A04   Mark BROWN        Port behavior
  470. -------------------------------------
  471.  
  472. KCL and KVL :
  473. supported
  474.  
  475. branch current seen as function of other analog quantities :
  476. supported
  477.  
  478. modeling by relationship :
  479. supported
  480. (assuming "relationship" is the same as "equations")
  481.  
  482.  
  483. A05   Mark BROWN        Operators
  484. ---------------------------------
  485.  
  486. threshold function for A-to-D :
  487. supported
  488.  
  489. waveform operator for D-to-A :
  490. supported
  491. (to be refined)
  492.  
  493. time derivative :
  494. supported
  495.  
  496. transformation between time and frequency, partial derivative : ??
  497.  
  498. A06   Mark BROWN        Error tolerance
  499. ---------------------------------------
  500.  
  501. not understood
  502.  
  503. A07   Mark BROWN        Miscellaneous requirements
  504. --------------------------------------------------
  505.  
  506. math package for transcendental operations (and floating-point exponent) :
  507. supported
  508.  
  509. complex numbers (rectangular or polar) :
  510. supported
  511. (but it is second-priority for transient analysis of mixed circuits)
  512.  
  513. physical units : to be clarified
  514.  
  515. A17   A.S.GILMAN        Analog Modeling
  516. ---------------------------------------
  517.  
  518. not completely understood
  519.  
  520. not supported : micro-wave circuits ; use of "concurrent" (global ?) variables
  521.                 to model analog parts ;
  522.  
  523. supported : the analog part operates in parallel with the digital one ;
  524.             simulation algorithm is implementation-defined ;
  525.             upward-compatiblity ;
  526.  
  527. for time derivative, 'DOT is an interesting alternative to d-dt( ) ...
  528.  
  529. A18   A.S.GILMAN        Physical quantities
  530. -------------------------------------------
  531.  
  532. not completely understood
  533. supported : dimensional analysis in the language ; floating-point values for
  534.             physical quantities
  535.  
  536. A19   A.S.GILMAN        Baseline Character set
  537. ----------------------------------------------
  538.  
  539. not considered (already considered by VHDL-92)
  540.  
  541. E12   C. LE FAOU et al  New key-words and electrical objects
  542. ------------------------------------------------------------
  543.  
  544. idea #1 : modeling by equation
  545. supported
  546. (note : adding an equation to the equation set should be complemented
  547.         by adding an independent variable to the set of variables ...)
  548.  
  549. idea #2 : essentially a re-phrasing of Kirchoff's laws
  550. supported
  551.  
  552. idea #3 : syntactic issues ("type electrical is record .....)
  553. it is perhaps too early to propose detailed syntactic forms
  554.  
  555. idea #4 : time derivative
  556. supported
  557.  
  558. E13   C. LE FAOU et al  Input parameter for entites
  559. ---------------------------------------------------
  560.  
  561. supported
  562. (except using parameters in the digital domain ; this needs further study)
  563.  
  564. E14   C. LE FAOU et al  Package and user library for electrical modeling
  565. ------------------------------------------------------------------------
  566.  
  567. It is too early to propose detailed syntax ; the examples are all very simple
  568. ones, and tend to suggest that this method is limited to elements having only
  569. two pins, possibly parameters, and no internal states.
  570. To be studied further.
  571.  
  572. E16   D.ROUQUIER        New key-words and underlying semantics for electrical
  573. -----------------------------------------------------------------------------
  574.                         modeling
  575.  
  576. not considered (too long, too syntactical ; the main ideas have been rephrased
  577. in subsequent requirements by the same author).
  578.  
  579. E46   M.ALTMAE          Correspondence between VHDL objects and alternative
  580. ---------------------------------------------------------------------------
  581.                         representations in other netlist formats
  582.  
  583. not completely understood ;
  584.  
  585. idea #1 : seems to suggest A-to-D and D-to-A interactions by direct connection
  586. of (vhdl) signals to (spice) nodes ; this seems the only way during the interim
  587. phase (using the "foreign interface" before VHDL-A is standardised) but it will
  588. not be the case in VHDL-A
  589.  
  590. idea #2 : programs to adapt SPICE libraries to VHDL-A :
  591. supported
  592.  
  593. E47   M.ALTMAE          Modify the VHDL initialisation to include DC analysis
  594. -----------------------------------------------------------------------------
  595.                         for analog parts
  596.  
  597. supported
  598. (but we should find a way of avoiding iterations ...)
  599.  
  600. E48   M.ALTMAE          Specified interface semantics between digital and analog
  601. --------------------------------------------------------------------------------
  602.                         parts of a design
  603.  
  604. supported
  605.  
  606. E62   D.RODRIGUEZ et al Dimensional equations
  607. ---------------------------------------------
  608.  
  609. dimensional analysis in the language :
  610. supported
  611.  
  612. detailed syntax to do so :
  613. too early
  614.  
  615. E63   D.BORRIONNE et al New key-words and electrical objects modification and
  616. -----------------------------------------------------------------------------
  617.                         review of CLF+1 (= E12)
  618.  
  619. idea #1 : connecting several "PINs" to a "NODE" does not imply the same
  620.           semantics as connecting several ports to a signal.
  621. supported
  622.  
  623. idea #1 : proposed syntax
  624. too early
  625.  
  626. E64   D.BORRIONNE et al Access to the current value crossing an electrical
  627. --------------------------------------------------------------------------
  628.                         component
  629.  
  630. need to access branch currents :
  631. supported
  632.  
  633. detailed syntax for that purpose :
  634. too early
  635.  
  636. E65   D.ROUQUIER et al  At least two labels
  637. -------------------------------------------
  638.  
  639. not considered (not technical ; in fact, as there will be two different
  640. standards, it will be easy to check whether a given simulator is conformant to
  641. 1076 or to 1076.1).
  642.  
  643. the criterion to tell whether a circuit is digital, analog, or mixed will be
  644. known only after elaboration.
  645.  
  646. E66   D.ROUQUIER et al  Re-use digital constructs
  647. -------------------------------------------------
  648.  
  649. supported
  650. (in fact, to be monitored during the detailed design of the language)
  651.  
  652. E67   D.ROUQUIER et al  Definition of analog time
  653. -------------------------------------------------
  654.  
  655. supported
  656.  
  657. E68   D.ROUQUIER et al  Time synchronisation
  658. --------------------------------------------
  659.  
  660. idea #1 : conversion between analog time and digital time :
  661. supported
  662.  
  663. idea #2 : achieve unique time axis :
  664. supported
  665.  
  666. idea #3 : proposed strategy : to be studied in greater details ; such a model
  667.           (of the mixed simulator) must be viewed as conceptual, otherwise we
  668.           might enter domain of "over-specification".
  669.  
  670. E69   D.ROUQUIER        Portability of analog models
  671. ----------------------------------------------------
  672.  
  673. to be analysed by vendors of mixed simulators !
  674.  
  675. E70   D.ROUQUIER        Use of existing methods
  676. -----------------------------------------------
  677.  
  678. general :
  679. supported
  680.  
  681. modified nodal method :
  682. over-specification ?
  683.  
  684. procedural models :
  685. supported
  686. (to be refined)
  687.  
  688. extra equations (and associated extra variable) :
  689. supported
  690.  
  691. old value, time-step :
  692. see procedural models
  693.  
  694. time derivative :
  695. supported
  696.  
  697. E71   D.ROUQUIER et al  User control over digital to analog interactions
  698. ------------------------------------------------------------------------
  699.  
  700. general :
  701. supported
  702.  
  703. details depend on the exact definition of analog behavioral modelling in VHDL-A.
  704. the problem of discontinuity may be solved by the "slope function" associated
  705. with any signal used (in read-only mode) in the analog part.
  706.  
  707. E72   D.ROUQUIER et al  User control over analog to digital interactions
  708. ------------------------------------------------------------------------
  709.  
  710. supported
  711.  
  712. E73   N.WHITAKER        Dimensional analysis of physical types
  713. --------------------------------------------------------------
  714.  
  715. supported
  716.  
  717. E74   D.ROUQUIER        Domain of application
  718. ---------------------------------------------
  719.  
  720. supported
  721.  
  722. E75   D.ROUQUIER        Several modeling techniques
  723. ---------------------------------------------------
  724.  
  725. supported
  726. (the syntax of "analog procedural models" may be similar to that of digital
  727. processes, but the semantics will be completely different)
  728.  
  729. E76   T.RAHKONEN        consistency checks for excitations and results in
  730. -------------------------------------------------------------------------
  731.                         different analogue simulators
  732.  
  733. not understood
  734. This text seems to refer to a situation where different simulators are used in a
  735. very loosely coupled way, and the simulation of the whole circuit requires a lot
  736. a manual (and error-prone) operations, to feed the results of one simulator as
  737. stimuli to another simulator. It does not seem to envisage true mixed-mode
  738. simulation in VHDL-A.
  739.  
  740. E77   A.PATTERSON       Analogue modelling requirements in VHDL
  741. ---------------------------------------------------------------
  742.  
  743. supported
  744. (perhaps phase-angle descriptions are second priority).
  745.  
  746. E78   D.ROUQUIER        Mixed entities required
  747. -----------------------------------------------
  748.  
  749. supported
  750.  
  751. E79   D.ROUQUIER        Implementation issues
  752. ---------------------------------------------
  753.  
  754. supported
  755.  
  756. A176  C.USSERY          Single Timing Semantics
  757. -----------------------------------------------
  758.  
  759. idea #1 : extensions to the timing model (due to analog) should be incorporated
  760.           within VHDL-92 :
  761. nice idea, but it is too late now
  762.  
  763. idea #2 : achieve a single simulation cycle mechanism :
  764. supported
  765.  
  766. A177  C.USSERY          Pass-through of analog values
  767. -----------------------------------------------------
  768.  
  769. supported
  770. assuming that the mixed component in the associated example will have a mixed
  771. interface (at least two PINs, possibly some ports) and will contain, in addition
  772. to its ("purely digital") behavior, a "connect statement" (still to be invented)
  773. to indicate that the two nodes (coming from the source and going to the reader)
  774. are connected.
  775.  
  776. A178  C.USSERY          Fully intermixed designs
  777. ------------------------------------------------
  778.  
  779. supported
  780. ("runtime statements" : to be clarified) ; closely linked to A177.
  781.  
  782. A179  K.NOLAN           Specification of initial analog conditions
  783. ------------------------------------------------------------------
  784.  
  785. supported
  786. also user-supplied "hints" before DC are usefull (to help DC converge faster)
  787.  
  788. A180  K.NOLAN           Specification of non-conserved analog systems
  789. ---------------------------------------------------------------------
  790.  
  791. not understood ; please provide tutorial !
  792.  
  793.  
  794. -14- Open questions
  795. ===================
  796.  
  797.      -14-1- Relations
  798.      ----------------
  799.  
  800. This style of description has been illustrated in requirements E12 and E14, but
  801. only on simple examples (elements with only two pins, or structural equivalent
  802. circuit for the bipolar transistor). It is necessary to explore the limits of
  803. this style :
  804.  
  805. - is it possible to describe an element having three or more pins using only
  806.   equations ?
  807. - what if several relations are declared within one architecture (does this
  808.   describe a "structure" ; will the relations interact through nodes) ?
  809. - use of "if-then-else" within relations ?
  810. - is it necessary to explicitely declare a new variable with each new equation ?
  811.  
  812.      -14-2- Procedural models
  813.      ------------------------
  814.  
  815. This style of description has been described, with very few details, in
  816. requirements A4, E70 and E75. It is used in several existing simulators (FAS,
  817. MAST, also M). It is very natural if the equation-set is built using the
  818. "modified nodal method" (each node corresponds to one variable : the node
  819. voltage, and one equation : KCL). It may include such features as access to the
  820. 'old' value of an analog quantity, access to the value of the time-step, ...
  821. It is necessary to explore also the limits of this style.
  822.  
  823.      -14-3- Modifications to the digital "kernel"
  824.      --------------------------------------------
  825.  
  826. It will be necessary to introduce at least some modifications to the digital
  827. part of VHDL-92 to allow for well-defined mixed-mode descriptions and
  828. simulations. These modifications will emerge from the A-to-D interaction
  829. mechanisms, and from the problem of time synchronisation. The following could be
  830. sufficient :
  831.  
  832. -1-
  833. the wait statement is extended to allow processes to be sensitive to analog
  834. quantities ; examples :
  835.   wait on N.V ; wait on PIN1.I ; wait on COMP1.PIN2.V ;
  836.      (note-1 : the visibility rules will have to be refined)
  837.      (note-2 : a thresholding function is required, associated with the analog
  838.       quantity to which a process is sensitive)
  839.  
  840. this sensitivity takes effect as explained below.
  841.  
  842. -2-
  843. the simulation cycle is modified :
  844.  
  845. -2-1-
  846. when the digital "kernel" reaches the point where all processes have been run
  847. and have suspended (including "postponed" processes), instead of advancing time
  848. (to the "next digital date", which is strictly greater than the current date),
  849. the the digital kernel should be capable of halting and giving control back to
  850. some "general kernel", which will take care of analog simulation.
  851.  
  852. -2-2-
  853. the digital kernel is capable of being re-started by the "general kernel" with
  854. the following order : advance time to the "next digital date" and perform
  855. normally at that date (in this case there is no real modification of the
  856. simulation cycle) ;
  857.  
  858. -2-3-
  859. the digital kernel is also capable of being re-started by the "general kernel"
  860. with the following order : advance time to date To (with To strictly smaller
  861. than the "next digital date") and at that time, accept "unforeseen events".
  862. These events come from the analog part, and as far as the digital kernel is
  863. concerned, they simply imply resuming the execution of one or several processes
  864. currently suspended on a "wait on N.V" statement.
  865.  
  866.  
  867. with these modifications, and with a few assumptions on the analog simulator,
  868. time synchronisation can be acheived.
  869.  
  870.      -14-4- Assumptions on the analog simulator
  871.      ------------------------------------------
  872.  
  873. When started, the analog simulator never produces "zero-delay-events" (in other
  874. words, its time-step is never zero) ; this seems a reasonnable assumption to
  875. place on any analog simulator, and it might be crucial when specifying time
  876. synchronization.
  877.  
  878. The analog simulator can not tell its "next analog date" (date of the next time-
  879. step to be computed by the analog simulator). On the other hand, when computing
  880. a time-step, it can store old values (values of the previous time step) ; thus
  881. it can be told either to "accept" a time-step (forget old values) or to "reject"
  882. a time-step and to compute (possibly by interpolation) a shorter one. This is a
  883. soft form of backtracking.
  884.  
  885. with these assumptions, and with the above modifications on the digital
  886. simulator, time synchronisation can be acheived.
  887.  
  888.      -14-5- Miscellaneous questions
  889.      ------------------------------
  890.  
  891. Limits of the LRM :
  892. Will the LRM describe the structure of the mixed simulator, the time
  893. synchronization mechanism, the method for building the equation-set, the method
  894. for solving it ?
  895.  
  896. Error tolerance ( A06 ) and portability ( E69 ) ; N.I returns 0 or epsilon ?
  897.  
  898. 64 bits ? (left to the implementation ?)
  899.  
  900. statement for "connecting" two nodes ( A177 ) ?
  901.  
  902. "node-set" to help DC
  903.